Signal processing mechanisms such as those employed in fault-tolerant data processing systems have, for the most part, avoided the use of residue signal processing because of the complexity of difficult operations such as scaling, sign determination, magnitude comparison, overflow detection, etc., which require knowledge of the magnitude of residue numbers. For example, the sign of a residue number is determined by comparing the number with M/2, where M is the range of the number system. Magnitude information is also indispensable in a redundant residue number system because a possible first step toward correcting errors is to compare projections of a number with the ratio M.sub.T /M.sub.R, where M.sub.T is the total range and M.sub.R the redundant range. Since the magnitude is not explicitly available in the residue representation of a number, some form of conversion from residues to digits in a weighted number system is necessary. Currently known techniques for residue decoding are based either on the Chinese remainder theorem or on a mixed radix conversion. Although the Chinese remainder theorem provides a direct conversion formula which is simple and potentially fast, its implementation into high-speed digital signal processing systems has been hindered by the lack of adders modulo a large and arbitrary integer. On the contrary, conversion to mixed radix digits can be easily realized with lookup tables of modest size, but the process is notoriously slow due to the propagation of carries, a computational bottleneck characteristic of weighted number systems.